A data federation system is a type of database management system (DBMS). In a data federation system, a federation engine may be coupled to a plurality of data sources, from which the federation engine may access data. Queries for data stored in the plurality of data sources may be received by the federation engine from a plurality of clients. The federation engine may decompose each received query into sub-queries that are distributed to the plurality of data sources. The results of the sub-queries may then be aggregated into one or more result sets, also known as virtual views, by the data federation system. The data federation system may present the aggregated data from the virtual views to the clients in response to the client queries.
Data federation systems are complicated systems in which interactions that require high bandwidth occur every second. Significant batches of data may be frequently sent. Moreover, many data federation systems are deployed with the intention of the federation engine being the interface for all data of an organization. In addition, the federation engine may be the interface for data of external organizations. Accordingly, a data federation system may have high performance demands that contribute to lower quality of service (QoS). QoS in traditional federated database systems has been improved by techniques such as caching.